#if !defined(__SURFACE_AFFICHABLE_H)
#define __SURFACE_AFFICHABLE_H

#include "surface_graphique.h"
#include "commun/utilise_sdl.h"

extern const char surface_invalide[];

class module_interface;

class surface_affichable : public surface_graphique {
	friend class afficheur_surfaces;
	
	bool visible_;
	int z_;
protected:
	SDL_Surface *surface_;
public:
	surface_affichable(SDL_Surface *s, int nx=0, int ny=0, bool v = true, int nz=0) throw(erreur);
	virtual ~surface_affichable() throw();
	
	int width() const { return surface_->w; }
	int height() const { return surface_->h; }
	
	int z() const { return z_; }
	void z(int nz);
	
	void x(int nx);
	void y(int ny);
	
	bool visible() const { return visible_; }
	void visible(bool v);
};

#endif
